(0) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

f(g(X), Y) → f(X, n__f(n__g(X), activate(Y)))
f(X1, X2) → n__f(X1, X2)
g(X) → n__g(X)
activate(n__f(X1, X2)) → f(activate(X1), X2)
activate(n__g(X)) → g(activate(X))
activate(X) → X

Q is empty.

(1) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.

(2) Obligation:

Q DP problem:
The TRS P consists of the following rules:

F(g(X), Y) → F(X, n__f(n__g(X), activate(Y)))
F(g(X), Y) → ACTIVATE(Y)
ACTIVATE(n__f(X1, X2)) → F(activate(X1), X2)
ACTIVATE(n__f(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__g(X)) → G(activate(X))
ACTIVATE(n__g(X)) → ACTIVATE(X)

The TRS R consists of the following rules:

f(g(X), Y) → f(X, n__f(n__g(X), activate(Y)))
f(X1, X2) → n__f(X1, X2)
g(X) → n__g(X)
activate(n__f(X1, X2)) → f(activate(X1), X2)
activate(n__g(X)) → g(activate(X))
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(3) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

(4) Obligation:

Q DP problem:
The TRS P consists of the following rules:

F(g(X), Y) → ACTIVATE(Y)
ACTIVATE(n__f(X1, X2)) → F(activate(X1), X2)
F(g(X), Y) → F(X, n__f(n__g(X), activate(Y)))
ACTIVATE(n__f(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__g(X)) → ACTIVATE(X)

The TRS R consists of the following rules:

f(g(X), Y) → f(X, n__f(n__g(X), activate(Y)))
f(X1, X2) → n__f(X1, X2)
g(X) → n__g(X)
activate(n__f(X1, X2)) → f(activate(X1), X2)
activate(n__g(X)) → g(activate(X))
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(5) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


ACTIVATE(n__f(X1, X2)) → ACTIVATE(X1)
The remaining pairs can at least be oriented weakly.
Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]:

POL(F(x1, x2)) = -I + 2A·x1 + 1A·x2

POL(g(x1)) = 4A + 0A·x1

POL(ACTIVATE(x1)) = 1A + 1A·x1

POL(n__f(x1, x2)) = 5A + 1A·x1 + 0A·x2

POL(activate(x1)) = 4A + 0A·x1

POL(n__g(x1)) = 0A + 0A·x1

POL(f(x1, x2)) = 5A + 1A·x1 + 0A·x2

The following usable rules [FROCOS05] were oriented:

activate(n__f(X1, X2)) → f(activate(X1), X2)
activate(n__g(X)) → g(activate(X))
activate(X) → X
f(X1, X2) → n__f(X1, X2)
g(X) → n__g(X)
f(g(X), Y) → f(X, n__f(n__g(X), activate(Y)))

(6) Obligation:

Q DP problem:
The TRS P consists of the following rules:

F(g(X), Y) → ACTIVATE(Y)
ACTIVATE(n__f(X1, X2)) → F(activate(X1), X2)
F(g(X), Y) → F(X, n__f(n__g(X), activate(Y)))
ACTIVATE(n__g(X)) → ACTIVATE(X)

The TRS R consists of the following rules:

f(g(X), Y) → f(X, n__f(n__g(X), activate(Y)))
f(X1, X2) → n__f(X1, X2)
g(X) → n__g(X)
activate(n__f(X1, X2)) → f(activate(X1), X2)
activate(n__g(X)) → g(activate(X))
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(7) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


ACTIVATE(n__g(X)) → ACTIVATE(X)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
F(x1, x2)  =  x2
g(x1)  =  g(x1)
ACTIVATE(x1)  =  x1
n__f(x1, x2)  =  x2
activate(x1)  =  x1
n__g(x1)  =  n__g(x1)
f(x1, x2)  =  x2

Recursive path order with status [RPO].
Quasi-Precedence:
[g1, ng1]

Status:
g1: [1]
ng1: [1]


The following usable rules [FROCOS05] were oriented:

activate(n__f(X1, X2)) → f(activate(X1), X2)
activate(n__g(X)) → g(activate(X))
activate(X) → X
f(X1, X2) → n__f(X1, X2)
g(X) → n__g(X)
f(g(X), Y) → f(X, n__f(n__g(X), activate(Y)))

(8) Obligation:

Q DP problem:
The TRS P consists of the following rules:

F(g(X), Y) → ACTIVATE(Y)
ACTIVATE(n__f(X1, X2)) → F(activate(X1), X2)
F(g(X), Y) → F(X, n__f(n__g(X), activate(Y)))

The TRS R consists of the following rules:

f(g(X), Y) → f(X, n__f(n__g(X), activate(Y)))
f(X1, X2) → n__f(X1, X2)
g(X) → n__g(X)
activate(n__f(X1, X2)) → f(activate(X1), X2)
activate(n__g(X)) → g(activate(X))
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(9) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule ACTIVATE(n__f(X1, X2)) → F(activate(X1), X2) at position [0] we obtained the following new rules [LPAR04]:

ACTIVATE(n__f(n__f(x0, x1), y1)) → F(f(activate(x0), x1), y1)
ACTIVATE(n__f(n__g(x0), y1)) → F(g(activate(x0)), y1)
ACTIVATE(n__f(x0, y1)) → F(x0, y1)

(10) Obligation:

Q DP problem:
The TRS P consists of the following rules:

F(g(X), Y) → ACTIVATE(Y)
F(g(X), Y) → F(X, n__f(n__g(X), activate(Y)))
ACTIVATE(n__f(n__f(x0, x1), y1)) → F(f(activate(x0), x1), y1)
ACTIVATE(n__f(n__g(x0), y1)) → F(g(activate(x0)), y1)
ACTIVATE(n__f(x0, y1)) → F(x0, y1)

The TRS R consists of the following rules:

f(g(X), Y) → f(X, n__f(n__g(X), activate(Y)))
f(X1, X2) → n__f(X1, X2)
g(X) → n__g(X)
activate(n__f(X1, X2)) → f(activate(X1), X2)
activate(n__g(X)) → g(activate(X))
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(11) NonTerminationProof (EQUIVALENT transformation)

We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by narrowing to the left:

s = ACTIVATE(n__f(n__g(g(X)), y1)) evaluates to t =ACTIVATE(n__f(n__g(g(X)), activate(y1)))

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Matcher: [y1 / activate(y1)]
  • Semiunifier: [ ]




Rewriting sequence

ACTIVATE(n__f(n__g(g(X)), y1))F(g(activate(g(X))), y1)
with rule ACTIVATE(n__f(n__g(x0), y1')) → F(g(activate(x0)), y1') at position [] and matcher [x0 / g(X), y1' / y1]

F(g(activate(g(X))), y1)F(g(g(X)), y1)
with rule activate(X') → X' at position [0,0] and matcher [X' / g(X)]

F(g(g(X)), y1)F(g(X), n__f(n__g(g(X)), activate(y1)))
with rule F(g(X'), Y') → F(X', n__f(n__g(X'), activate(Y'))) at position [] and matcher [X' / g(X), Y' / y1]

F(g(X), n__f(n__g(g(X)), activate(y1)))ACTIVATE(n__f(n__g(g(X)), activate(y1)))
with rule F(g(X), Y) → ACTIVATE(Y)

Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence


All these steps are and every following step will be a correct step w.r.t to Q.



(12) NO